library(Seurat) library(ggpubr) library(dplyr) library(plyr) library(tidyr) library(harmony) library(matrixStats) library(patchwork) library(DoubletFinder) options(future.globals.maxSize = 8000 * 1024^2) save(list=c("Islet.combined", "Islet.combined_UMAP", "GeneLists", "CheckUMAP", "DEGs", "ClusterFunc_All_RNA", "GenerateMetaData", "Islets_Barcs", "Beta_Clust", "Acinar_Clust", "Ductal_Clust", "Alpha_Clust", "Macro_Clust", "Delta_Clust", "Gamma_Clust", "Epsilon_Clust", "Cycling_Clust", "WBC_Clust", "Endo_Clust", "Stellate_Clust", "Islets_Barcs_List", "Beta_Barcs", "Acinar_Barcs", "Ductal_Barcs", "Delta_Barcs", "WBCs_Barcs","Stellate_Barcs", "Endo_Barcs", "Cycling_Barcs", "Epsilon_Barcs", "Gamma_Barcs", "Macro_Barcs", "Alpha_Barcs", "List_Seu", "Alpha_Seu", "Beta_Seu", "Delta_Seu", "Epsilon_Seu", "Gamma_Seu", "Acinar_Seu", "Ductal_Seu", "Stellate_Seu", "Endo_Seu", "WBCs_Seu", "Macro_Seu", "List_Meta", "Cycling_Seu"), file = "~/Islet_StdIntegration_DbltRm.RData") load("~/Library/CloudStorage/Box-Box/HG2553 Main Folder/Collins Lab Collab/Islet_StdIntegration_DbltRm.RData") library(devtools) install_github("campbio/celda", build_vignettes = TRUE) vignette("decontX") library(celda) library(SingleCellExperiment) sce = Islet.combined@assays$RNA@counts sce <- decontX(sce) Islet.combined@assays$decont = Islet.combined@assays$RNA Islet.combined@assays$decont@counts = sce$decontXcounts sce = Islet.combined@assays$RNA@counts sce <- decontX(sce, background = raw) #Islet.combined@assays$decont = Islet.combined@assays$RNA #Islet.combined@assays$decont@data = sce$decontXcounts Outs =as.data.frame(t(sce$decontXcounts)) DefaultAssay(Islet.combined) = "decont" umap <- reducedDim(sce, "decontX_UMAP") plotDimReduceCluster(x = sce$decontX_clusters, dim1 = umap[, 1], dim2 = umap[, 2]) DefaultAssay(Beta_Seu) = "RNA" pdf("Beta_FeaturePlots.pdf", width = 10, height = 10) print(FeaturePlot(Beta_Seu, unique(c("INS", "DLK1", "SIX3", "PDX1", "CHGA", "ID1", "ID2", "ID3", "MT1F")))) dev.off()
#GCG Alpha #INS Beta #SST Delta #GHRL Epsilon #PPY Gamma #PRSS1 Acinar #KRT19 Ductal #COL1A1 Stellate #VWF Endo #SDS Macro #TPSAB1 Mast #SOX10 Schwann GeneLists = list() GeneLists[["MainList"]] = c("GCG", "INS", "SST", "GHRL", "PPY", "PRSS1", "KRT19", "COL1A1", "VWF", "SDS", "TPSAB1", "SOX10") GeneLists[["Seger_Alpha1"]] = c("CKS2", "UBE2C", "HMGB2", "PTTG1", "CDKN3", "UBE2T", "CDK1", "CENPW", "TOP2A", "NUSAP1", "PBK", "BIRC5", "CDC20", "CDCA3", "ZWINT", "CDCA8", "AURKB", "KIAA0101", "PRC1", "CCNB1", "TPX2", "HMMR", "ASF1B", "CCNB2", "RRM2", "NDC80", "PLK1", "CENPM", "CCNA2", "BUB1", "CENPF", "TACC3", "TROAP", "FAM64A", "SPAG5", "ANLN", "MK167", "GTSE1", "CENPA", "NEK2", "ASPM", "KIF20A", "CEP55", "DIAPH3", "HJURP", "DEPDC1", "MELK", "KIF23", "CENPE", "DEPDC1B", "IQGAP3CDC25C", "DLGAP5", "CKAP2L", "KIF14", "CIT", "FAM111B") GeneLists[["Seger_Alpha2"]] = c("PEMT", "C10orf10", "HLA-E", "SLC7A8", "ABCC8", "DSP", "GOPC2", "PPY", "ARRDC4", "PLCE1", "MVP", "ALDOC", "TMEM150A", "SHC2", "GPD1", "C1orf116", "KCNQ10T1", "MEG3", "NPY") GeneLists[["Seger_Beta"]] = c("ID2", "ID1", "INS", "RBP4", "FFAR4", "ID3") GeneLists[["Beta_Subpops"]] = c("CFAP126", "DKK3", "PDX1", "GATA2", "CDH1", "NCAM1", "CD9", "ITGA6", "MKI67", "PDGFRA", "MAPK1", "STAT3", "CASP3", "SLC2A2", "DECR1", "CREB1", "AXIN1", "ST8SIA1", "MAFA", "NKX6-1", "PPP1R1A", "ABCC9", "SIX3", "RFX6", "MAFB", "NEUROD1") GeneLists[["Seger_Acinar"]] = c("CPB1", "CTRC", "PLA2G1B", "MT1G", "PNLIPRP2", "MT2A", "MT1F", "CELA3A", "MT1X", "MT1E", "FKBP11", "CELAZA", "PNLIPRP1", "TPST2", "SYCN", "REG3G", "PDIA2", "CELA3B", "CLPS", "CTRL", "SLC43A1", "MT1MCEL", "MT1H", "GP2", "AKR7A3", "SLC39A5", "MT1HL1", "TMED6", "SLC38A5", "PRSS2", "SLC30A2", "CXCL12", "CHAC1", "SERPINI2", "CPA4", "FUT1", "GCAT", "LOC100506281", "ENTPD3", "CELA2B", "MT1B", "MAT1A", "SERPINI1", "AMY2B", "FAM46C", "CLPSL1", "MT1A", "MT1L", "AQP8", "PM20D1", "SLC38A3", "IL22RA1", "AQP12B", "KCNE4", "ARHGDIG", "REG4", "DERL3", "AMY2A", "RBPJL", "AQP12A", "COL15A1", "SARDH", "MT1DP", "GPHA2", "CENPM") GeneLists[["Peng_Ductal"]] = c("FXYD2", "KRT19", "MUC1", "FXYD3", "MKI67", "TOP2A", "CCNB1", "CCNB2", "AMBP") GeneLists[["Baron_Stellate"]] = c("RGS5", "PDGFRB", "SPARC", "GJA4", "CSPG4", "EDNRB", "COL4A1", "PDGFRA", "COL1A1", "FN1", "THY1", "LUM", "MMP2", "TIMP1", "VCAN", "CXCL3", "IL33", "IL11", "FGF2") GeneLists[["Rorsman_Pardo_Delta"]] = toupper(c("Crhr2", "Ghsr", "Glp1r", "Gipr", "Chrm3", "Chrm4", "Adra2a", "Sstr1", "Sstr3", "Ffar4", "Insr", "Gcgr", "GABRA1", "GABRB1", "GABRD", "GABRE", "Gabrq", "pdx1", "slc2a2", "gck")) GeneLists[["EndoList"]] = c("SLCO1C1", "SLC38A5", "MYH11", "MRC1", "CLDN5", "ITM2A", "FLT1", "VTN", "COL1A1", "COL3A1", "LUM", "DCN", "PTGDS", "AMBP", "RGS5", "ACTA2", "TAGLN", "ABCC9", "KCNJ8") GeneLists[["MastCells"]] = c("TPSAB1", "KIT", "MS4A2", "GATA2", "ENPP3", "CD63", "CD3E", "TRAC", "IL7R", "CCL17", "IDO1", "SDS", "MERTK", "ITGAX") GeneLists[["GammaCells"]] = c("PPY" , "BTG2", "ID4", "CNTNAP5", "CTD-20008P7.8", "ABCC8", "NEUROD1", "PAX6", "FOLR1", "PYY", "TSPAN8", "GCG", "INS", "SST", "GHRL","PRSS1", "KRT19" ,"COL1A1" ,"SDS","SKI", "FEV", "FOXA2", "SMAD4", "TCF3", "PHF1", "NR2F6", "FOXO6", "JUND", "ATP1A1", "EPCAM", "LAMP1", "TMEM30B", "DNER", "MGAT4B", "KCNH2", "LRFN4", "NDFIP1", "VEGFA", "PTOV1", "ARX", "LAMP1", "TXNDC5", "CSNK1G2") GeneLists[["MacroCells"]] = c("CD68", "CD163", "MRC1", "FCGR1", "MAFB", "ITGAX", "FLT3", "LYVE1", "CD3E", "ABCG1", "ITGAM", "ADGRE1", "ICAM2", "TIMD4", "KLF2", "MERTK", "H2-AB1", "CCR2") GeneLists[["Lori_Extras"]] = c("TTR", "GC", "PCSK2", "GPX3", "SLC7A2", "VGF", "SCG5", "PCSK1NCST3", "IRX1", "IRX2", "FAP", "DPP4", "LOXL4", "INS", "HADH", "PCSK1NKX6-1", "G6PC2", "PAPSS2", "IAPP", "DLK1", "MAFA", "SIX3", "OLIG1", "ADCYAP1", "PDX1", "GCK", "SST", "POU3F1", "RBP4", "LEPR", "GHRL", "PPY", "ETV1", "RAP1GAP", "PRSS1", "CPA1", "KRT7", "KRT19", "KRT18", "S100A11", "SDC4", "LCN2", "KRT8", "TMSB4X", "ANXA2", "ZFP36L1", "COL1A1", "PDGFRB", "SPARC", "SERPINH1", "TBX3", "CALD1", "COL4A1", "CEBPB", "LGALS1", "EDNRB", "IGFBP7", "PLVAP", "RGCC", "PODXL", "CD93", "ENG", "FLT1", "KDR", "FKBP1A", "SOX18", "VWF", "SDS", "TPSAB1", "SOX10", "CHGA", "CHGB", "SYP", "KCNJ11", "GLUT1", "KRT19", "PRSS1", "HERPUD1", "HSPA5", "DDIT3") DefaultAssay(Islet.combined) = "RNA" for(g in names(GeneLists)){ GeneLists[[g]] = subset(GeneLists[[g]], GeneLists[[g]] %in% row.names(Islet.combined)) } #Baron et al 2016 - A Single-Cell Transcriptomic Map of the Human and Mouse Pancreas Reveals Inter- and Intra-cell Population Structure - STELLATE MARKERS DEGs = function(Input){ Input.markers <- FindAllMarkers(Input, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25) return(Input.markers)} ##Check population on UMAP #CheckInput = row.names(EmbryonicHypo) CheckUMAP = function(SeuFilez){ if(class(CheckInput) == "data.frame"){ CheckMeta = as.data.frame(c(rep("RoI", length(row.names(CheckInput))))) colnames(CheckMeta) = "Pop" row.names(CheckMeta) = row.names(CheckInput) }else{ CheckMeta = as.data.frame(c(rep("RoI", length(colnames(CheckInput))))) colnames(CheckMeta) = "Pop" row.names(CheckMeta) = colnames(CheckInput) } SeuFilez = AddMetaData(SeuFilez, CheckMeta, "CheckMeta") Idents(SeuFilez) = "CheckMeta" DimPlot(SeuFilez, reduction="umap") } ######################################################################## GenerateMetaData = function(ListMeta){ MetaOutput = as.data.frame(matrix(ncol = 1, nrow =0)) for(x in seq(1,length(ListMeta),1)){ if(class(ListMeta[[x]]) == "data.frame"){ Temp = as.data.frame(rep(names(ListMeta)[[x]], length(row.names(ListMeta[[x]])))) colnames(Temp) = "Pop" row.names(Temp) = row.names(ListMeta[[x]]) }else{ Temp = as.data.frame(rep(names(ListMeta)[[x]], length(colnames(ListMeta[[x]])))) colnames(Temp) = "Pop" row.names(Temp) = colnames(ListMeta[[x]]) } MetaOutput = rbind(MetaOutput, Temp) } return(MetaOutput) } ######################################################################## #Fetal.integrated.HypothalV2.Harmony_RNA = as.data.frame(t(as.data.frame(EmbryonicHypo@assays$RNA@counts))) #All.integrated_DataSubs = Fetal.integrated.HypothalV2.Harmony_RNA %>% dplyr::select(SIM1, `NKX2-1`, MC4R, SST, KISS1, GHRH, TH, TRH, OXT, AVP, CRH, BDNF, PCSK1, GAL,POMC,LEPR, NPY,AGRP, TBX3, SIX6, OTP, POU3F2, GABRA5, NPTX2, HCRT, CARTPT, ONECUT2, FOXP2, HDC, CCK, LHX6, LHX9, ARC, NRN1, LHX8, PMCH, `NKX2-2`, LHX1, SIX3, LHX8, PMCH, `NKX2-2`, LHX1, SIX3, SEMA3C, PITX2, PPP1R17, NPY1R, FOXG1, NEUROD6, RGS16, BARHL1, BCL11A, BCL11B, DMRTA2, EBF2, EMX2, HEY1, LMX1A, MEIS2, MESP1, NHLH2, NHLH1, NME2, `NKX2-2`, NPAS4, NR2F1, NR2F2, NR5A2, NR5A1, ONECUT1, ONECUT3, OTX2, PBX3, PITX2, PRDM8, SOX14, SOX3, ST18, TBR1, TCF7L2, ZBTB16, ZIC1, ZIC2, LHX1, TAC3, BCL11B, HIVEP2,RAB3B, DNAJC6, DIRAS3, OLFM3, SYT6, S100A10, FAM84A, FAM84A, VSNL1, HS6ST1, CTNNB1, CAMKV, CADM2, KIT, PPP3CA, SPOCK3, DYNC1I1, MAP7D2, PNCK, NEFM, DNAJC12, ATP8A2, KCNMB2) #All.integrated_DataSubsV2 = Fetal.integrated.HypothalV2.Harmony_RNA %>% select(OligList, AstroMicro, EpendyTanyList, EndoList, MuralPeriVLMCList, BroadGenes, HypothalamicProgenSubclass, WellKnownGenes, SuspectedGenes) ClusterFunc_All_RNA = function(SeuFile){ Filename = as.character(substitute(SeuFile)) for(y in set.kparam){ for(z in set.dim){ for(v in set.res){ DefaultAssay(SeuFile) = "integrated" SeuFile <- FindNeighbors(SeuFile, k.param=y, dims=1:z) SeuFile <- FindClusters(SeuFile, resolution = v) DefaultAssay(SeuFile) = "RNA" pdf(paste("ISLETS_", Filename, "_res", v, "_k", y, "_dim", z, "_umapSML.pdf", sep=""), width=12, height=10) dimplot = DimPlot(SeuFile, reduction="umap", label=T) print(dimplot) dev.off() pdf(paste("ISLETS_", Filename, "_res", v, "_k", y, "_dim", z, "_umapLGE.pdf", sep=""), width=25, height=25) dimplot = DimPlot(SeuFile, reduction="umap", label=T) print(dimplot) dev.off() ###OUTPUT MEAN OF COUNTS #Subset = subset(All.integrated_DataSubsV2, row.names(All.integrated_DataSubsV2) %in% colnames(SeuFile)) #MetaData = as.data.frame(SeuFile@meta.data$seurat_clusters) #row.names(MetaData) = row.names(SeuFile@meta.data) #SubsetwMeta = merge(Subset, MetaData, by=0) #row.names(SubsetwMeta) = SubsetwMeta$Row.names #SubsetwMeta$Row.names = NULL #SubsetSum = Subset %>% group_by(SubsetwMeta$`SeuFile@meta.data$seurat_clusters`) %>% summarise_all(sum, na.rm = TRUE) #write.csv(SubsetSum, paste("ISLETS_", Filename, "_SumCounts_k", y, "_dim", z, "_res", v, ".csv", sep=""), row.names = F) #SubsetMean = Subset %>% group_by(SubsetwMeta$`SeuFile@meta.data$seurat_clusters`) %>% summarise_all(mean, na.rm = TRUE) #write.csv(SubsetMean, paste("ISLETS_", Filename, "_MeanCounts_k", y, "_dim", z, "_res", v, ".csv", sep=""), row.names = F) ###VLNS AllVlns = list() for(d in names(GeneLists)){ Genes = GeneLists[[d]] StorePlots = list() for(x in Genes[1]){ plotA <- VlnPlot(SeuFile, features = x, pt.size = 0, same.y.lims = F,) plotA <- plotA + coord_flip()+ theme(axis.ticks.x= element_blank(), axis.title.y=element_blank(), axis.text.x=element_blank(), axis.title.x=element_blank(), axis.ticks.y = element_blank(), legend.position = "none", plot.title = element_text(size=12))+ labs(title = d, subtitle = Genes[1]) StorePlots[[x]] = plotA } for(x in Genes[2:length(Genes)]){ plotB <- VlnPlot(SeuFile, features = x, pt.size = 0, same.y.lims = F,) plotB <- plotB + coord_flip()+ theme(axis.ticks.x= element_blank(), axis.title.y=element_blank(), axis.text.x=element_blank(), axis.title.x=element_blank(), axis.ticks.y = element_blank(), legend.position = "none", axis.text.y = element_blank(), plot.title = element_text(size=12)) StorePlots[[x]] = plotB } AllVlns[[d]] <- ggarrange(plotlist = StorePlots, widths=c(1.4, rep(1, length(Genes)-1)), ncol = 60, nrow = 1) } pdf(paste("ISLETS_", Filename, "_res", v, "_k", y, "_dim", z, "_AllMultiVlns.pdf", sep=""), width=60, height=length(unique(SeuFile@active.ident))) print(AllVlns) dev.off() #Cell No CellNo = as.data.frame(table(SeuFile@meta.data$seurat_clusters)) write.csv(CellNo, paste("ISLETS_", Filename, "_counts_k", y, "_dim", z, "_res", v, ".csv", sep=""), row.names = F) }} #Feature Plots FPList = list() for(d in names(GeneLists)){ Genes = GeneLists[[d]] FPSinglePage = list() FPSinglePage[[1]] = FeaturePlot(SeuFile, Genes[1], reduction="umap") + labs(title=paste(d, Genes[1])) for(p in seq(2, length(Genes), 1)){ FPSinglePage[[p]] = FeaturePlot(SeuFile, Genes[p], reduction="umap") } FPList[[d]] = ggarrange(plotlist = FPSinglePage, ncol=6, nrow=10) } pdf(paste("ISLETS_", Filename, "_dim", z, "_AllFPs.pdf", sep=""), width = 25, height = 45) print(FPList) dev.off() }}
Islets.Data= list() QCViolins = list() QCHist = list() QCTable = as.data.frame(matrix(ncol=10, nrow=0)) for(x in c("HP17225", "HP19345", "HP20217", "HP17117", "HP18320", "HP19208", "HP18227", "HP18047", "HP17209", "HP17250", "HP17082")){ Islets.Data[[x]] = Read10X(data.dir = paste("~/Dropbox/Columbia/Collins Lab Collab/Collins Islet Data/islet_cellranger_filtered/", x, "_filtered_feature_bc_matrix", sep="")) ScreeingFile = CreateSeuratObject(counts = Islets.Data[[x]], project = x, min.cells = 3, min.features = 0) ScreeingFile[["percent.mt"]] <- PercentageFeatureSet(ScreeingFile, pattern = "^MT-") QCViolins[[x]] = VlnPlot(ScreeingFile, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3) TableData = as.data.frame(t(c(x, median(ScreeingFile$nFeature_RNA), mean(ScreeingFile$nFeature_RNA), sd(ScreeingFile$nFeature_RNA), median(ScreeingFile$nCount_RNA), mean(ScreeingFile$nCount_RNA), sd(ScreeingFile$nCount_RNA), median(ScreeingFile$percent.mt), mean(ScreeingFile$percent.mt), sd(ScreeingFile$percent.mt)))) colnames(TableData) = c("Sample", "nFeature_Median", "nFeature_Mean", "nFeature_SD", "nCount_Median", "nCount_Mean", "nCount_SD", "percent.mt_Median", "percent.mt_Mean", "percent.mt_SD") QCTable = rbind(QCTable, TableData) QCHist[[x]] = ggplot(ScreeingFile@meta.data, aes(x=nFeature_RNA)) + geom_histogram(binwidth=30)+ ggtitle(x)+ scale_x_continuous(breaks = seq(0,max(ScreeingFile@meta.data$nFeature_RNA),200)) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) } pdf(paste("ISLETS_QC_Violins_24MAR22.pdf", sep=""), width=20, height=8) print(QCViolins) dev.off() pdf(paste("ISLETS_QC_Histograms_24MAR22.pdf", sep=""), width=15, height=8) print(QCHist) dev.off()
Islets.DataV3 = Islets.Data Islets.DataV3[["HP17117"]] = NULL Islets.DataV3[["HP18320"]] = NULL Islets.DataV3[["HP17250"]] = NULL Islets.DataV3[["HP17209"]] = NULL Islets.DataV3[["HP17225"]] = NULL Islets.DataV4 = list() for(x in 1:length(Islets.DataV3)){ File =CreateSeuratObject(counts = Islets.DataV3[[x]], project = names(Islets.DataV3)[x], min.cells = 3, min.features = 1000) Temp = as.data.frame(File@assays$RNA@counts) colnames(Temp) = paste0(names(Islets.DataV3)[x], colnames(Temp), sep="_") Temp =CreateSeuratObject(counts = Temp, project = names(Islets.DataV3)[x], min.cells = 3, min.features = 0) Temp <- NormalizeData(Temp) Temp <- FindVariableFeatures(Temp, do.plot = F, display.progress = F) Temp = ScaleData(Temp, vars.to.regress = c("nFeature_RNA", "percent_mito"), verbose = F) Temp = RunPCA(Temp, verbose = F, npcs = 20) Temp = RunUMAP(Temp, dims = 1:10, verbose = F) nExp_poi <- round(0.1*nrow(Temp@meta.data)) Temp<- doubletFinder_v3(Temp, pN = 0.25, pK = 0.09, nExp = nExp_poi, PCs = 1:10) Temp.meta = Temp@meta.data Temp.meta2 = subset(Temp.meta, Temp.meta[[length(Temp.meta)]] == "Singlet") Islets.DataV4[[x]] = subset(Temp, cells = row.names(Temp.meta2)) } features <- SelectIntegrationFeatures(object.list = Islets.DataV4) Islet.anchors <- FindIntegrationAnchors(object.list = Islets.DataV4, anchor.features = features) Islet.combined <- IntegrateData(anchorset = Islet.anchors) DefaultAssay(Islet.combined) <- "integrated" save(list=c("Islet.combined"), file = "~/Islet_StdIntegration_DbltRm.RData") DefaultAssay(Islet.combined) <- "RNA" MT.genes <- grep(pattern = "^MT-", x = rownames(x = Islet.combined), value = TRUE) DefaultAssay(Islet.combined) <- "integrated" percent.mt <- Matrix::colSums(Islet.combined@assays[["RNA"]][MT.genes, ])/Matrix::colSums(Islet.combined@assays[["RNA"]]) Islet.combined = AddMetaData(Islet.combined, percent.mt, "percent.mt") Islet.combined <- ScaleData(Islet.combined, vars.to.regress = "percent.mt") Islet.combined <- RunPCA(Islet.combined, npcs = 30, verbose = FALSE) Islet.combined <- RunUMAP(Islet.combined, reduction = "pca", dims = 1:30) save(list=c("Islet.combined"), file = "~/Islet_StdIntegration_DbltRm.RData") DPlist2 = list() DPlist = list() FPlist = list() Filename = "Islets_DbltsRm_1JUL22" for(y in seq(10,50,10)){ DefaultAssay(Islet.combined) = "integrated" Islet.combined = RunPCA(Islet.combined, npcs = y) for(z in seq(10,y,10)){ for(s in c(2,5,10)){ Islet.combined <- RunUMAP(Islet.combined, dims = 1:z, spread= s) DefaultAssay(Islet.combined) = "RNA" FPlist[[paste("PCA", y, "_dims", z, "_spread", s)]] = FeaturePlot(Islet.combined, c("GCG", "INS", "SST", "GHRL", "PPY", "PRSS1", "KRT19", "COL1A1", "VWF", "SDS", "TPSAB1", "SOX10"), reduction="umap") DPlist[[paste("PCA", y, "_dims", z, "_spread", s)]] = DimPlot(Islet.combined, reduction="umap", split.by = "orig.ident") + labs(title = paste("PCA", y, "_dims", z, "_spread", s)) DPlist2[[paste("PCA", y, "_dims", z, "_spread", s)]] = DimPlot(Islet.combined, reduction="umap", group.by = "orig.ident", label=T) + labs(title = paste("PCA", y, "dims", z, "spread", s)) }}} pdf(paste("ISLETS_", Filename, "_FeaturePlots.pdf", sep=""), width=20, height=20) print(FPlist) dev.off() pdf(paste("ISLETS_", Filename, "_SPLITUMAP.pdf", sep=""), width=50, height=5) print(DPlist) dev.off() pdf(paste("ISLETS_", Filename, "_GROUPUMAP.pdf", sep=""), width=8, height=5) print(DPlist2) dev.off() DefaultAssay(Islet.combined) = "integrated" Islet.combined <- RunPCA(Islet.combined, npcs = 20, verbose = FALSE) Islet.combined <- RunUMAP(Islet.combined, reduction = "pca", dims = 1:20, spread=2) Islet.combined_UMAP = as.data.frame(Islet.combined@reductions$umap@cell.embeddings) Alpha_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > -5 & Islet.combined_UMAP$UMAP_1 < 10 & Islet.combined_UMAP$UMAP_2 > 5) Epsilon_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > 13 & Islet.combined_UMAP$UMAP_1 < 15.7 & Islet.combined_UMAP$UMAP_2 > 2 & Islet.combined_UMAP$UMAP_2 < 3) Gamma_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > 12 & Islet.combined_UMAP$UMAP_2 > 2 & ! row.names(Islet.combined_UMAP) %in% row.names(Epsilon_Clust)) Delta_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > 5 & Islet.combined_UMAP$UMAP_1 < 14 & Islet.combined_UMAP$UMAP_2 > -3 & Islet.combined_UMAP$UMAP_2 < 3) Acinar_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 < -9 & Islet.combined_UMAP$UMAP_2 > -2) Beta_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > -3 & Islet.combined_UMAP$UMAP_1 < 10 & Islet.combined_UMAP$UMAP_2 < -3) Cycling_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > 12 & Islet.combined_UMAP$UMAP_2 < -3) Stellate_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > -12 & Islet.combined_UMAP$UMAP_1 < -5 & Islet.combined_UMAP$UMAP_2 < -11.6 & Islet.combined_UMAP$UMAP_2 > -15) Endo_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 > -12 & Islet.combined_UMAP$UMAP_1 < -5 & Islet.combined_UMAP$UMAP_2 < -9.5 & Islet.combined_UMAP$UMAP_2 > -11.6) Ductal_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 < -5 & Islet.combined_UMAP$UMAP_2 < -2 & Islet.combined_UMAP$UMAP_2 > -9.5) Macro_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 < -5 & Islet.combined_UMAP$UMAP_2 < -17.7) WBC_Clust = subset(Islet.combined_UMAP, Islet.combined_UMAP$UMAP_1 < -5 & Islet.combined_UMAP$UMAP_2 < -15 & Islet.combined_UMAP$UMAP_2 > -17.7) CheckInput = Acinar_Clust CheckUMAP(Islet.combined) #Generate Metadata Islets_Barcs_List = list("Beta" = Beta_Clust, "Acinar" = Acinar_Clust, "Ductal" = Ductal_Clust, "Alpha" = Alpha_Clust, "Macro" = Macro_Clust, "Delta" = Delta_Clust, "Gamma" = Gamma_Clust, "Epsilon" = Epsilon_Clust, "Cycling" = Cycling_Clust, "WBCs" = WBC_Clust, "Endo" = Endo_Clust,"Stellate" = Stellate_Clust) Islets_Barcs = GenerateMetaData(Islets_Barcs_List) Islet.combined = AddMetaData(Islet.combined, Islets_Barcs, "Islets_Barcs") Idents(Islet.combined) = "Islets_Barcs" pdf("Islets_DbltsRm_GHRL.pdf", width = 16, height=16) print(FeaturePlot(Islet.combined, "GHRL")) dev.off() pdf("Islets_DbltsRm_UMAP.pdf", width = 16, height=16) print(DimPlot(Islet.combined, label = T) + NoLegend()) dev.off() DefaultAssay(Islet.combined) = "RNA" pdf("Islets_DbltsRm_FeaturePlots.pdf", width = 15, height=10) print(FeaturePlot(Islet.combined, c("GCG", "INS", "SST", "GHRL", "PPY", "PRSS1", "KRT19", "COL1A1", "VWF", "SDS", "TPSAB1", "SOX10"), reduction="umap")) dev.off()
### Output data to check Azimuth labels saveRDS(Islet.combined, file = "Islet.combinedDbltRm.rds") predictions <- read.delim('~/Downloads/azimuth_pred_DbltRm.tsv', row.names = 1) Islets_Barcs2 = Islets_Barcs Islets_Barcs2$Pop = gsub("WBCs", "Immune", gsub("Macro", "Immune", Islets_Barcs2$Pop)) predictions$predicted.annotation.l1.score = NULL predictions$mapping.score = NULL predictions$predicted.annotation.l1 = gsub("beta", "Beta", gsub("delta", "Delta", gsub("ductal", "Ductal", gsub("alpha", "Alpha", gsub("gamma", "Gamma", gsub("immune", "Immune", gsub("epsilon", "Epsilon", gsub("acinar", "Acinar", gsub("activated_stellate", "Stellate", gsub("endothelial", "Endo", gsub("quiescent_stellate", "Stellate", gsub("schwann", "Schwann", gsub("cycling", "Cycling", predictions$predicted.annotation.l1))))))))))))) Merge_Barcs = merge(Islets_Barcs2, predictions, by = 0) Merge_Barcs$Equal = Merge_Barcs$Pop == Merge_Barcs$predicted.annotation.l1 Merge_False = subset(Merge_Barcs, Merge_Barcs$Equal == F) Merge_False$Overlap = paste(Merge_False$Pop, Merge_False$predicted.annotation.l1, sep="_") OverlapTable = as.data.frame(table(Merge_False$Overlap)) AB = subset(Merge_False, Merge_False$Overlap == c("Beta_Alpha", "Beta_Delta")) row.names(AB) = AB$Row.names AB$Row.names = NULL AB$Pop = NULL AB$predicted.annotation.l1 = NULL AB$Equal = NULL Islet.combined = AddMetaData(Islet.combined, AB, "Beta_Alpha") Idents(Islet.combined) = "Beta_Alpha" DP = DimPlot(Islet.combined, label = T, repel=T)+ NoLegend() pdf("Islets_Discreprant.pdf", width = 8, height = 8) print(DP) dev.off()
### Iterate dimensions for each of the subclusters Idents(Islet.combined) = "Islets_Barcs" for(b in c("Stellate", "Endo")){ #unique(Islets_Barcs$Pop) SubsetSeu = subset(Islet.combined, idents = b) if(b == "Stellate"){PlotGenes = c("COL1A1", "COL1A1", "PDGFRB", "SPARC", "SERPINH1", "TBX3", "CALD1", "COL4A1", "CEBPB", "LGALS1", "EDNRB", "IGFBP7", GeneLists[["Baron_Stellate"]])}else if(b == "Endo"){PlotGenes = c("CSPG4", "GJA4", "APLN", "CD82", "CHST1", "PTH1R", "BMX", "GKN3", "IGFBP2", "DCN", "LIM", "PDGFRA", "IL33", "PLVAP", "RGCC", "PODXL", "CD93", "ENG", "FLT1", "KDR", "FKBP1A", "SOX18", "VWF", GeneLists[["EndoList"]])}else if(b == "Beta"){PlotGenes = c("INS", "INS", "HADH", "PCSK1", "NKX6-1", "G6PC2", "PAPSS2", "IAPP", "DLK1", "MAFA", "SIX3", "OLIG1", "ADCYAP1", "PDX1", "GCK", "CHGA", "CHGB", "SYP", "KCNJ11", GeneLists[["Seger_Beta"]], GeneLists[["Beta_Subpops"]])}else if(b == "Acinar"){PlotGenes = c("PRSS1","PRSS1", "CPA1", GeneLists[["Seger_Acinar"]])}else if(b == "Ductal"){PlotGenes = c("KRT7", "KRT19", "KRT18", "S100A11", "SDC4", "LCN2", "KRT8", "TMSB4X", "ANXA2", "ZFP36L1", GeneLists[["Peng_Ductal"]])}else if(b == "Alpha"){PlotGenes = c("GCG", "TTR", "GC", "PCSK2", "GPX3", "SLC7A2", "VGF", "SCG5", "PCSK1NCST3", "IRX1", "IRX2", "FAP", "DPP4", "LOXL4", GeneLists[["Seger_Alpha1"]], GeneLists[["Seger_Alpha2"]])}else if(b == "Macro"){PlotGenes = c(GeneLists[["MacroCells"]])}else if(b == "WBCs"){PlotGenes = c(GeneLists[["MainList"]], "TPSAB1", GeneLists[["MastCells"]])}else if(b == "Delta"){PlotGenes = c("SST","SST", "POU3F1", "RBP4", "LEPR", GeneLists[["Rorsman_Pardo_Delta"]])}else if(b == "Gamma"){PlotGenes = c("PPY" ,"PPY", "ETV1", "RAP1GAP", GeneLists[["GammaCells"]] )}else{PlotGenes = c(GeneLists[["MainList"]])} PlotGenes = unique(PlotGenes) DPlist2 = list() DPlist = list() FPlist = list() Filename = paste(b, "27JUL22", sep="") for(y in seq(10,50,10)){ DefaultAssay(SubsetSeu) = "integrated" SubsetSeu = RunPCA(SubsetSeu, npcs = y) for(z in seq(10,y,10)){ for(s in c(2,5,10)){ SubsetSeu <- RunUMAP(SubsetSeu, dims = 1:z, spread= s) DefaultAssay(SubsetSeu) = "RNA" FPlist[[paste("PCA", y, "_dims", z, "_spread", s)]] = FeaturePlot(SubsetSeu, PlotGenes, reduction="umap") DPlist[[paste("PCA", y, "_dims", z, "_spread", s)]] = DimPlot(SubsetSeu, reduction="umap", split.by = "orig.ident") + labs(title = paste("PCA", y, "_dims", z, "_spread", s)) DPlist2[[paste("PCA", y, "_dims", z, "_spread", s)]] = DimPlot(SubsetSeu, reduction="umap", group.by = "orig.ident", label=T) + labs(title = paste("PCA", y, "dims", z, "spread", s)) }}} pdf(paste("ISLETS_", Filename, "_FeaturePlots.pdf", sep=""), width=20, height=length(PlotGenes)/1.3) print(FPlist) dev.off() pdf(paste("ISLETS_", Filename, "_SPLITUMAP.pdf", sep=""), width=50, height=5) print(DPlist) dev.off() pdf(paste("ISLETS_", Filename, "_GROUPUMAP.pdf", sep=""), width=8, height=5) print(DPlist2) dev.off() } ### SUBCLUSTER ALPHA Idents(Islet.combined) = "Islets_Barcs" Alpha_Seu = subset(Islet.combined, idents = "Alpha") DefaultAssay(Alpha_Seu) = "integrated" Alpha_Seu <- RunPCA(Alpha_Seu, npcs = 20, verbose = FALSE) Alpha_Seu <- RunUMAP(Alpha_Seu, reduction = "pca", dims = 1:20, spread=2) Alpha_Seu_UMAP = as.data.frame(Alpha_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(10) #ClusterFunc_All_RNA(Alpha_Seu) DefaultAssay(Alpha_Seu) = "integrated" Alpha_Seu <- FindNeighbors(Alpha_Seu, k.param=10, dims=1:10) Alpha_Seu <- FindClusters(Alpha_Seu, resolution = 1) Alpha_Clust1_ToClean = subset(Alpha_Seu, idents = c(5,13)) Alpha_Clust2_ToClean = subset(Alpha_Seu, idents = c(10)) Alpha_Clust1 = subset(Alpha_Seu_UMAP, row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Clust1_ToClean) & Alpha_Seu_UMAP$UMAP_1 > 0 & Alpha_Seu_UMAP$UMAP_2 < -3 | Alpha_Seu_UMAP$UMAP_1 > -1 & Alpha_Seu_UMAP$UMAP_2 < -5 ) Alpha_Clust2 = subset(Alpha_Seu_UMAP, row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Clust2_ToClean) & Alpha_Seu_UMAP$UMAP_1 < 0 & Alpha_Seu_UMAP$UMAP_2 < -2 | Alpha_Seu_UMAP$UMAP_1 < -1 & Alpha_Seu_UMAP$UMAP_2 < -4 ) Alpha_Rest = subset(Alpha_Seu, cells = c(row.names(Alpha_Clust1), row.names(Alpha_Clust2)), invert=T) set.res = c(1) set.dim = c(10) set.kparam = c(5,4,3) #ClusterFunc_All_RNA(Alpha_Rest) DefaultAssay(Alpha_Rest) = "integrated" Alpha_Rest <- FindNeighbors(Alpha_Rest, k.param=5, dims=1:10) Alpha_Rest <- FindClusters(Alpha_Rest, resolution = 1) Alpha_Clust3_ToClean = subset(Alpha_Rest, idents = c(2,3,6,14,9,10)) Alpha_Clust3 = subset(Alpha_Seu_UMAP, row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Clust3_ToClean) & Alpha_Seu_UMAP$UMAP_1 > -3 | row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Rest) & Alpha_Seu_UMAP$UMAP_1 > 3 ) CheckInput = Alpha_Clust3 CheckUMAP(Alpha_Rest) Alpha_Rest2 = subset(Alpha_Seu, cells = c(row.names(Alpha_Clust1), row.names(Alpha_Clust2), row.names(Alpha_Clust3)), invert=T) set.res = c(1) set.dim = c(20) set.kparam = c(20,50) ClusterFunc_All_RNA(Alpha_Rest2) DefaultAssay(Alpha_Rest2) = "integrated" Alpha_Rest2 <- FindNeighbors(Alpha_Rest2, k.param=20, dims=1:20) Alpha_Rest2 <- FindClusters(Alpha_Rest2, resolution = 1) Alpha_Clust4_ToClean = subset(Alpha_Rest2, idents = c(0,8,5)) Alpha_Clust5_ToClean = subset(Alpha_Rest2, idents = c(6)) CheckInput =Alpha_Clust5_ToClean CheckUMAP(Alpha_Rest2) Alpha_Clust5 = subset(Alpha_Seu_UMAP, row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Clust5_ToClean) & Alpha_Seu_UMAP$UMAP_1 < -1 & Alpha_Seu_UMAP$UMAP_1 > -5 | row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Rest2) & Alpha_Seu_UMAP$UMAP_1 > -4 & Alpha_Seu_UMAP$UMAP_1 < -2.5 & Alpha_Seu_UMAP$UMAP_2 > -1 & Alpha_Seu_UMAP$UMAP_2 < 1) Alpha_Clust4 = subset(Alpha_Seu_UMAP, row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Clust4_ToClean) & Alpha_Seu_UMAP$UMAP_1 > -4.5 & Alpha_Seu_UMAP$UMAP_2 < 4 & ! row.names(Alpha_Seu_UMAP) %in% row.names(Alpha_Clust5) | row.names(Alpha_Seu_UMAP) %in% colnames(Alpha_Rest2) & Alpha_Seu_UMAP$UMAP_1 > -1 & Alpha_Seu_UMAP$UMAP_2 < 1 & ! row.names(Alpha_Seu_UMAP) %in% row.names(Alpha_Clust5)) Alpha_Clust6 = subset(Alpha_Seu, cells = c(row.names(Alpha_Clust1), row.names(Alpha_Clust2), row.names(Alpha_Clust3), row.names(Alpha_Clust4), row.names(Alpha_Clust5)), invert=T) CheckInput =Alpha_Clust6 CheckUMAP(Alpha_Rest2) Alpha_Barcs_List = list("Alpha_1" = Alpha_Clust1, "Alpha_2" = Alpha_Clust2, "Alpha_3" = Alpha_Clust3, "Alpha_4" = Alpha_Clust4, "Alpha_5" = Alpha_Clust5, "Alpha_6" = Alpha_Clust6) Alpha_Barcs = GenerateMetaData(Alpha_Barcs_List) ### ### SUBCLUSTER BETA #Use 16 Beta_Seu = subset(Islet.combined, idents = "Beta") DefaultAssay(Beta_Seu) = "integrated" Beta_Seu <- RunPCA(Beta_Seu, npcs = 30, verbose = FALSE) Beta_Seu <- RunUMAP(Beta_Seu, reduction = "pca", dims = 1:30, spread=2) Beta_Seu_UMAP = as.data.frame(Beta_Seu@reductions$umap@cell.embeddings) Beta_Clust1 = subset(Beta_Seu_UMAP, Beta_Seu_UMAP$UMAP_1 > 1.5 & Beta_Seu_UMAP$UMAP_2 < -4 | Beta_Seu_UMAP$UMAP_1 > 2.5 & Beta_Seu_UMAP$UMAP_2 < -3) CheckInput = Beta_Clust1 CheckUMAP(Beta_Seu) Beta_Seu_Rest = subset(Beta_Seu, cells = row.names(Beta_Clust1), invert=T) set.res = c(1) set.dim = c(30) set.kparam = c(50) ClusterFunc_All_RNA(Beta_Seu) DefaultAssay(Beta_Seu_Rest) = "integrated" Beta_Seu_Rest <- FindNeighbors(Beta_Seu_Rest, k.param=50, dims=1:30) Beta_Seu_Rest <- FindClusters(Beta_Seu_Rest, resolution = 1) Beta_Clust2 = subset(Beta_Seu_Rest, idents = c(5)) Beta_Clust3 = subset(Beta_Seu_Rest, idents = c(6)) CheckInput = Beta_Clust3_Clean CheckUMAP(Beta_Seu_Rest) Beta_Clust2_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust2) & Beta_Seu_UMAP$UMAP_1 < -5 & Beta_Seu_UMAP$UMAP_2 < 3) Beta_Clust3_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust3) & Beta_Seu_UMAP$UMAP_1 < 0 & Beta_Seu_UMAP$UMAP_2 < -2 | row.names(Beta_Seu_UMAP) %in% colnames(Beta_Seu_Rest) & Beta_Seu_UMAP$UMAP_1 < -3 & Beta_Seu_UMAP$UMAP_2 < -4) Beta_Seu_Rest2 = subset(Beta_Seu, cells = c(row.names(Beta_Clust1), row.names(Beta_Clust2_Clean), row.names(Beta_Clust3_Clean)), invert=T) set.res = c(1) set.dim = c(30) set.kparam = c(5) #ClusterFunc_All_RNA(Beta_Seu_Rest2) DefaultAssay(Beta_Seu_Rest2) = "integrated" Beta_Seu_Rest2 <- FindNeighbors(Beta_Seu_Rest2, k.param=200, dims=1:30) Beta_Seu_Rest2 <- FindClusters(Beta_Seu_Rest2, resolution = 1) Beta_Clust4 = subset(Beta_Seu_Rest2, idents = c(0)) Beta_Clust4_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust4) & Beta_Seu_UMAP$UMAP_1 < 1 & Beta_Seu_UMAP$UMAP_2 > -2 | row.names(Beta_Seu_UMAP) %in% colnames(Beta_Seu_Rest2) & Beta_Seu_UMAP$UMAP_1 < -2 & Beta_Seu_UMAP$UMAP_2 > 0) Beta_Seu_Rest3 = subset(Beta_Seu, cells = c(row.names(Beta_Clust1), row.names(Beta_Clust2_Clean), row.names(Beta_Clust3_Clean), row.names(Beta_Clust4_Clean)), invert=T) DefaultAssay(Beta_Seu_Rest3) = "integrated" Beta_Seu_Rest3 <- FindNeighbors(Beta_Seu_Rest3, k.param=3, dims=1:10) Beta_Seu_Rest3 <- FindClusters(Beta_Seu_Rest3, resolution = 1) Beta_Clust4Pt2 = subset(Beta_Seu_Rest3, idents = c(11,13,14,15,28)) Beta_Seu_Rest4 = subset(Beta_Seu, cells = c(row.names(Beta_Clust1), row.names(Beta_Clust2_Clean), row.names(Beta_Clust3_Clean), row.names(Beta_Clust4_Clean), colnames(Beta_Clust4Pt2)), invert=T) set.res = c(1) set.dim = c(10,20) set.kparam = c(5) #ClusterFunc_All_RNA(Beta_Seu_Rest4) DefaultAssay(Beta_Seu_Rest4) = "integrated" Beta_Seu_Rest4 <- FindNeighbors(Beta_Seu_Rest4, k.param=5, dims=1:20) Beta_Seu_Rest4 <- FindClusters(Beta_Seu_Rest4, resolution = 1) Beta_Clust5 = subset(Beta_Seu_Rest4, idents = c(3,7)) Beta_Clust6 = subset(Beta_Seu_Rest4, idents = c(1,9)) Beta_Clust7 = subset(Beta_Seu_Rest4, idents = c(8)) set.res = c(1) set.dim = c(30) set.kparam = c(10) #ClusterFunc_All_RNA(Beta_Clust5) Beta_Clust5 <- FindNeighbors(Beta_Clust5, k.param=10, dims=1:30) Beta_Clust5 <- FindClusters(Beta_Clust5, resolution = 1) Beta_Clust5_V2 = subset(Beta_Clust5, idents = c(1)) Beta_Clust5_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust5_V2) & Beta_Seu_UMAP$UMAP_2 < -2.5 | row.names(Beta_Seu_UMAP) %in% colnames(Beta_Seu_Rest4) & Beta_Seu_UMAP$UMAP_2 < -4) #Beta_Clust8= subset(Beta_Clust5, cells = row.names(Beta_Clust5_Clean), invert=T) Beta_Clust6_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust6) & Beta_Seu_UMAP$UMAP_2 < 4 & Beta_Seu_UMAP$UMAP_1 > 2 | row.names(Beta_Seu_UMAP) %in% colnames(Beta_Seu_Rest4) & Beta_Seu_UMAP$UMAP_1 > 7) Beta_Clust7_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust7) | row.names(Beta_Seu_UMAP) %in% colnames(Beta_Seu_Rest4) & Beta_Seu_UMAP$UMAP_2 > 4.5) Beta_Seu_Rest5 = subset(Beta_Seu, cells = c(row.names(Beta_Clust1), row.names(Beta_Clust2_Clean), row.names(Beta_Clust3_Clean), row.names(Beta_Clust4_Clean), colnames(Beta_Clust4Pt2), row.names(Beta_Clust5_Clean), row.names(Beta_Clust6_Clean), row.names(Beta_Clust7_Clean)), invert=T) CheckInput = Beta_Clust8 CheckUMAP(Beta_Seu_Rest5) set.res = c(1) set.dim = c(20,10) set.kparam = c(50) #ClusterFunc_All_RNA(Beta_Seu_Rest5) Beta_Seu_Rest5 <- FindNeighbors(Beta_Seu_Rest5, k.param=50, dims=1:30) Beta_Seu_Rest5 <- FindClusters(Beta_Seu_Rest5, resolution = 1) Beta_Clust8 = subset(Beta_Seu_Rest5, idents = c(2)) Beta_Clust8_Clean = subset(Beta_Seu_UMAP, row.names(Beta_Seu_UMAP) %in% colnames(Beta_Clust8) & Beta_Seu_UMAP$UMAP_2 < 1 & Beta_Seu_UMAP$UMAP_1 > -2 ) Beta_Clust9 = subset(Beta_Seu_Rest5, cells = row.names(Beta_Clust8_Clean), invert=T) CheckInput = Beta_Clust8_Clean CheckUMAP(Beta_Seu_Rest5) Beta_Barcs_List = list("Beta_1" = Beta_Clust1, "Beta_2" = Beta_Clust2_Clean, "Beta_3" = Beta_Clust3_Clean, "Beta_4" = Beta_Clust4_Clean, "Beta_4" = Beta_Clust4Pt2, "Beta_5" = Beta_Clust5_Clean, "Beta_6" = Beta_Clust6_Clean, "Beta_7" = Beta_Clust7_Clean, "Beta_8" = Beta_Clust8_Clean, "Beta_9" = Beta_Clust9) Beta_Barcs = GenerateMetaData(Beta_Barcs_List) ### ### SUBCLUSTER ACINAR # Use 3 Idents(Islet.combined) = "Islets_Barcs" Acinar_Seu = subset(Islet.combined, idents = "Acinar") DefaultAssay(Acinar_Seu) = "integrated" Acinar_Seu <- RunPCA(Acinar_Seu, npcs = 10, verbose = FALSE) Acinar_Seu <- RunUMAP(Acinar_Seu, reduction = "pca", dims = 1:10, spread=10) Acinar_Seu_UMAP = as.data.frame(Acinar_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(50) #ClusterFunc_All_RNA(Acinar_Seu) DefaultAssay(Acinar_Seu) = "integrated" Acinar_Seu <- FindNeighbors(Acinar_Seu, k.param=50, dims=1:10) Acinar_Seu <- FindClusters(Acinar_Seu, resolution = 1) Acinar_Clust1 = subset(Acinar_Seu, idents = c(6)) Acinar_Clust1_Clean = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust1) & Acinar_Seu_UMAP$UMAP_2 < -5 | Acinar_Seu_UMAP$UMAP_2 < -20 & Acinar_Seu_UMAP$UMAP_1 > 15) CheckInput = Acinar_Clust1_Clean CheckUMAP(Acinar_Seu) Acinar_Rest = subset(Acinar_Seu, cells = row.names(Acinar_Clust1_Clean), invert=T) set.res = c(1) set.dim = c(10) set.kparam = c(5) #ClusterFunc_All_RNA(Acinar_Rest) DefaultAssay(Acinar_Rest) = "integrated" Acinar_Rest <- FindNeighbors(Acinar_Rest, k.param=5, dims=1:10) Acinar_Rest <- FindClusters(Acinar_Rest, resolution = 1) Acinar_Clust2_ToClean = subset(Acinar_Rest, idents = c(0)) Acinar_Clust3_ToClean = subset(Acinar_Rest, idents = c(2,6,11)) Acinar_Clust2 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust2_ToClean) & Acinar_Seu_UMAP$UMAP_1> 2 & Acinar_Seu_UMAP$UMAP_2 < 10 | row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Rest) & Acinar_Seu_UMAP$UMAP_1> 15 & Acinar_Seu_UMAP$UMAP_2 < 2 ) Acinar_Clust3 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust3_ToClean) & Acinar_Seu_UMAP$UMAP_1 > 12 & Acinar_Seu_UMAP$UMAP_2 > -3 & ! row.names(Acinar_Seu_UMAP) %in% row.names(Acinar_Clust2) | Acinar_Seu_UMAP$UMAP_1 > 18 & Acinar_Seu_UMAP$UMAP_2 > -2 & ! row.names(Acinar_Seu_UMAP) %in% c(row.names(Acinar_Clust2), row.names(Acinar_Clust1_Clean))) CheckInput = Acinar_Clust3 CheckUMAP(Acinar_Seu) Acinar_Rest2 = subset(Acinar_Seu, cells = c(row.names(Acinar_Clust1_Clean), row.names(Acinar_Clust2), row.names(Acinar_Clust3)), invert=T) set.res = c(1) set.dim = c(10) set.kparam = c(30) ClusterFunc_All_RNA(Acinar_Rest2) Acinar_Rest2 <- FindNeighbors(Acinar_Rest2, k.param=30, dims=1:10) Acinar_Rest2 <- FindClusters(Acinar_Rest2, resolution = 1) Acinar_Clust4_ToClean = subset(Acinar_Rest2, idents = c(2)) Acinar_Clust5_ToClean = subset(Acinar_Rest2, idents = c(0)) Acinar_Clust6_ToClean = subset(Acinar_Rest2, idents = c(3)) Acinar_Clust7_ToClean = subset(Acinar_Rest2, idents = c(4,5)) Acinar_Clust8_ToClean = subset(Acinar_Rest2, idents = c(1)) Acinar_Clust4 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust4_ToClean) & Acinar_Seu_UMAP$UMAP_2 < 10 & Acinar_Seu_UMAP$UMAP_2 > -18 | row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Rest2) & Acinar_Seu_UMAP$UMAP_1 > -5 & Acinar_Seu_UMAP$UMAP_2 < 0) Acinar_Clust5 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust5_ToClean) & Acinar_Seu_UMAP$UMAP_2 > 0 | row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Rest2) & Acinar_Seu_UMAP$UMAP_1 > -15 & Acinar_Seu_UMAP$UMAP_2 > 10) Acinar_Clust6 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust6_ToClean) & Acinar_Seu_UMAP$UMAP_2 < -5 | row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Rest2) & Acinar_Seu_UMAP$UMAP_1 > -24 & Acinar_Seu_UMAP$UMAP_1 < -5 & Acinar_Seu_UMAP$UMAP_2 < -18) Acinar_Clust8 = subset(Acinar_Seu_UMAP, row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Clust8_ToClean) & Acinar_Seu_UMAP$UMAP_2 < 5 & Acinar_Seu_UMAP$UMAP_1 < -10 | row.names(Acinar_Seu_UMAP) %in% colnames(Acinar_Rest2) & Acinar_Seu_UMAP$UMAP_1 < -24 & Acinar_Seu_UMAP$UMAP_2 < -5) Acinar_Clust7 = subset(Acinar_Seu, cells = c(row.names(Acinar_Clust1_Clean), row.names(Acinar_Clust2), row.names(Acinar_Clust3), row.names(Acinar_Clust4), row.names(Acinar_Clust5), row.names(Acinar_Clust6), row.names(Acinar_Clust8)), invert=T) CheckInput = Acinar_Clust7 CheckUMAP(Acinar_Rest2) set.res = c(1) set.dim = c(10) set.kparam = c(30) ClusterFunc_All_RNA(Acinar_Rest2) #Acinar_Clust6 = subset(Acinar_Seu, cells = c(row.names(Acinar_Clust1_Clean), row.names(Acinar_Clust2), row.names(Acinar_Clust3), row.names(Acinar_Clust4), row.names(Acinar_Clust5)), invert=T) Acinar_Barcs_List = list("Acinar_1" = Acinar_Clust1_Clean, "Acinar_2" = Acinar_Clust2, "Acinar_3" = Acinar_Clust3, "Acinar_4" = Acinar_Clust4, "Acinar_5" = Acinar_Clust5, "Acinar_6" = Acinar_Clust6, "Acinar_7" = Acinar_Clust7, "Acinar_8" = Acinar_Clust8) Acinar_Barcs = GenerateMetaData(Acinar_Barcs_List) ### ### SUBCLUSTER DUCTAL #Use 2 Ductal_Seu = subset(Islet.combined, cells = row.names(Ductal_Clust)) DefaultAssay(Ductal_Seu) = "integrated" Ductal_Seu <- RunPCA(Ductal_Seu, npcs = 10, verbose = FALSE) Ductal_Seu <- RunUMAP(Ductal_Seu, reduction = "pca", dims = 1:10, spread=5) Ductal_Seu_UMAP = as.data.frame(Ductal_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(20) ClusterFunc_All_RNA(Ductal_Seu) DefaultAssay(Ductal_Seu) = "integrated" Ductal_Seu <- FindNeighbors(Ductal_Seu, k.param=20, dims=1:10) Ductal_Seu <- FindClusters(Ductal_Seu, resolution = 1) Ductal_Clust1_ToClean = subset(Ductal_Seu, idents = c(4)) Ductal_Clust2_ToClean = subset(Ductal_Seu, idents = c(0,5)) Ductal_Clust3_ToClean = subset(Ductal_Seu, idents = c(3,7)) Ductal_Clust4_ToClean = subset(Ductal_Seu, idents = c(6)) Ductal_Clust1 = subset(Ductal_Seu_UMAP, row.names(Ductal_Seu_UMAP) %in% colnames(Ductal_Clust1_ToClean) & Ductal_Seu_UMAP$UMAP_2 > 5 & Ductal_Seu_UMAP$UMAP_1 < 7 | Ductal_Seu_UMAP$UMAP_1 > -9 & Ductal_Seu_UMAP$UMAP_1 < 6 & Ductal_Seu_UMAP$UMAP_2 > 6 ) Ductal_Clust2 = subset(Ductal_Seu_UMAP, row.names(Ductal_Seu_UMAP) %in% colnames(Ductal_Clust2_ToClean) & ! row.names(Ductal_Seu_UMAP) %in% row.names(Ductal_Clust1) & Ductal_Seu_UMAP$UMAP_2 > -10 & Ductal_Seu_UMAP$UMAP_1 > 3 | ! row.names(Ductal_Seu_UMAP) %in% row.names(Ductal_Clust1) & Ductal_Seu_UMAP$UMAP_1 > 10 & Ductal_Seu_UMAP$UMAP_2 > -9 ) Ductal_Clust3 = subset(Ductal_Seu_UMAP, row.names(Ductal_Seu_UMAP) %in% colnames(Ductal_Clust3_ToClean) & Ductal_Seu_UMAP$UMAP_2 > -8 & Ductal_Seu_UMAP$UMAP_1 < -10 ) Ductal_Clust4 = subset(Ductal_Seu_UMAP, row.names(Ductal_Seu_UMAP) %in% colnames(Ductal_Clust4_ToClean) & Ductal_Seu_UMAP$UMAP_2 < -6 & Ductal_Seu_UMAP$UMAP_1 > 3 | Ductal_Seu_UMAP$UMAP_2 < -9 & Ductal_Seu_UMAP$UMAP_1 > 6 ) Ductal_Clust5 = subset(Ductal_Seu, cells = c(row.names(Ductal_Clust1), row.names(Ductal_Clust2), row.names(Ductal_Clust3), row.names(Ductal_Clust4)), invert=T) CheckInput = Ductal_Clust5 CheckUMAP(Ductal_Seu) Ductal_Barcs_List = list("Ductal_1" = Ductal_Clust1, "Ductal_2" = Ductal_Clust2, "Ductal_3" = Ductal_Clust3, "Ductal_4" = Ductal_Clust4, "Ductal_5" = Ductal_Clust5) Ductal_Barcs = GenerateMetaData(Ductal_Barcs_List) ### ### SUBCLUSTER DELTA Delta_Seu = subset(Islet.combined, cells = row.names(Delta_Clust)) DefaultAssay(Delta_Seu) = "integrated" Delta_Seu <- RunPCA(Delta_Seu, npcs = 30, verbose = FALSE) Delta_Seu <- RunUMAP(Delta_Seu, reduction = "pca", dims = 1:10, spread=5) Delta_Seu_UMAP = as.data.frame(Delta_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(50) #ClusterFunc_All_RNA(Delta_Seu) DefaultAssay(Delta_Seu) = "integrated" Delta_Seu <- FindNeighbors(Delta_Seu, k.param=50, dims=1:10) Delta_Seu <- FindClusters(Delta_Seu, resolution = 1) Delta_Clust1_ToClean = subset(Delta_Seu, idents = c(2,3)) Delta_Clust1 = subset(Delta_Seu_UMAP, row.names(Delta_Seu_UMAP) %in% colnames(Delta_Clust1_ToClean) & Delta_Seu_UMAP$UMAP_1 > 3 | Delta_Seu_UMAP$UMAP_1 > 8 ) CheckInput = Delta_Clust1 CheckUMAP(Delta_Seu) Delta_Rest2 = subset(Delta_Seu, cells = row.names(Delta_Clust1), invert=T) set.res = c(1) set.dim = c(10) set.kparam = c(50) ClusterFunc_All_RNA(Delta_Rest2) DefaultAssay(Delta_Rest2) = "integrated" Delta_Rest2 <- FindNeighbors(Delta_Rest2, k.param=50, dims=1:10) Delta_Rest2 <- FindClusters(Delta_Rest2, resolution = 1) Delta_Clust2_ToClean = subset(Delta_Rest2, idents = c(2)) Delta_Clust3_ToClean = subset(Delta_Rest2, idents = c(3)) CheckInput = Delta_Clust2_ToClean CheckUMAP(Delta_Rest2) Delta_Clust2 = subset(Delta_Seu_UMAP, row.names(Delta_Seu_UMAP) %in% colnames(Delta_Clust2_ToClean) & Delta_Seu_UMAP$UMAP_1 < -5 & Delta_Seu_UMAP$UMAP_2 < 5 & Delta_Seu_UMAP$UMAP_2 > -5 | row.names(Delta_Seu_UMAP) %in% colnames(Delta_Rest2) & Delta_Seu_UMAP$UMAP_1 < -10 & Delta_Seu_UMAP$UMAP_2 < 5 & Delta_Seu_UMAP$UMAP_2 > -4) Delta_Clust3 = subset(Delta_Seu_UMAP, row.names(Delta_Seu_UMAP) %in% colnames(Delta_Clust3_ToClean) & Delta_Seu_UMAP$UMAP_2 > 5 & Delta_Seu_UMAP$UMAP_1 < 2 | row.names(Delta_Seu_UMAP) %in% colnames(Delta_Rest2) & Delta_Seu_UMAP$UMAP_2 > 5 & Delta_Seu_UMAP$UMAP_1 < -4 | row.names(Delta_Seu_UMAP) %in% colnames(Delta_Rest2) & Delta_Seu_UMAP$UMAP_2 > 6.5 & Delta_Seu_UMAP$UMAP_1 < 0) CheckInput = Delta_Clust3 CheckUMAP(Delta_Rest2) Delta_Clust4 = subset(Delta_Seu, cells = c(row.names(Delta_Clust1), row.names(Delta_Clust2), row.names(Delta_Clust3)), invert=T) CheckInput = Delta_Clust3 CheckUMAP(Delta_Seu) Delta_Barcs_List = list("Delta_1" = Delta_Clust1, "Delta_2" = Delta_Clust2, "Delta_3" = Delta_Clust3, "Delta_4" = Delta_Clust4) Delta_Barcs = GenerateMetaData(Delta_Barcs_List) ### ### SUBCLUSTER STELLATE #Use 24 Stellate_Seu = subset(Islet.combined, cells = row.names(Stellate_Clust)) DefaultAssay(Stellate_Seu) = "integrated" Stellate_Seu <- RunPCA(Stellate_Seu, npcs = 40, verbose = FALSE) Stellate_Seu <- RunUMAP(Stellate_Seu, reduction = "pca", dims = 1:20, spread=10) Stellate_Barcs_List = list("Stellate" = Stellate_Seu) Stellate_Barcs = GenerateMetaData(Stellate_Barcs_List) ### ### SUBCLUSTER ENDO Endo_Seu = subset(Islet.combined, cells = row.names(Endo_Clust)) DefaultAssay(Endo_Seu) = "integrated" Endo_Seu <- RunPCA(Endo_Seu, npcs = 30, verbose = FALSE) Endo_Seu <- RunUMAP(Endo_Seu, reduction = "pca", dims = 1:10, spread=2) Endo_Seu_UMAP = as.data.frame(Endo_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(2) ClusterFunc_All_RNA(Endo_Seu) DefaultAssay(Endo_Seu) = "integrated" Endo_Seu <- FindNeighbors(Endo_Seu, k.param=2, dims=1:10) Endo_Seu <- FindClusters(Endo_Seu, resolution = 1) ArterialCells = subset(Endo_Seu, idents = c(1,6,8,11)) ArterialCells2 = subset(Endo_Seu_UMAP, row.names(Endo_Seu_UMAP) %in% colnames(ArterialCells) | Endo_Seu_UMAP$UMAP_1 > 1.5 & Endo_Seu_UMAP$UMAP_2 < 2.5) VenousCells = subset(Endo_Seu, cells = row.names(ArterialCells2), invert=T) CheckInput = ArterialCells CheckUMAP(Endo_Seu) Endo_List = list("Arterial" = ArterialCells2, "Venous" = VenousCells) Endo_Barcs = GenerateMetaData(Endo_List) #No Further Subclusters - Only FLT1 + VWF cells ### ### SUBCLUSTER WBCs WBCs_Seu = subset(Islet.combined, cells = row.names(WBC_Clust)) DefaultAssay(WBCs_Seu) = "integrated" WBCs_Seu <- RunPCA(WBCs_Seu, npcs = 10, verbose = FALSE) WBCs_Seu <- RunUMAP(WBCs_Seu, reduction = "pca", dims = 1:10, spread=10) WBCs_Seu_UMAP = as.data.frame(WBCs_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(10) ClusterFunc_All_RNA(WBCs_Seu) DefaultAssay(WBCs_Seu) = "integrated" WBCs_Seu <- FindNeighbors(WBCs_Seu, k.param=10, dims=1:10) WBCs_Seu <- FindClusters(WBCs_Seu, resolution = 1) Mast_Cells = subset(WBCs_Seu, idents = c(2,4)) TCells = subset(WBCs_Seu, idents = c(0,1)) APCs = subset(WBCs_Seu, idents = c(3)) WBCs_Barcs_List = list("Mast_Cells" = Mast_Cells, "T_Cells" = TCells, "APCs" = APCs) WBCs_Barcs = GenerateMetaData(WBCs_Barcs_List) ### ### SUBCLUSTER Gamma Gamma_Seu = subset(Islet.combined, cells = row.names(Gamma_Clust)) DefaultAssay(Gamma_Seu) = "integrated" Gamma_Seu <- RunPCA(Gamma_Seu, npcs = 30, verbose = FALSE) Gamma_Seu <- RunUMAP(Gamma_Seu, reduction = "pca", dims = 1:20, spread=10) Gamma_Barcs_List = list("Gamma" = Gamma_Seu) Gamma_Barcs = GenerateMetaData(Gamma_Barcs_List) ### ### SUBCLUSTER Cycling 1 Cycling_Seu = subset(Islet.combined, cells = row.names(Cycling_Clust)) DefaultAssay(Cycling_Seu) = "integrated" Cycling_Seu <- RunPCA(Cycling_Seu, npcs = 10, verbose = FALSE) Cycling_Seu <- RunUMAP(Cycling_Seu, reduction = "pca", dims = 1:10, spread = 2) Cycling_Seu_UMAP = as.data.frame(Cycling_Seu@reductions$umap@cell.embeddings) set.res = c(1) set.dim = c(10) set.kparam = c(10) ClusterFunc_All_RNA(Cycling_Seu) DefaultAssay(Cycling_Seu) = "integrated" Cycling_Seu <- FindNeighbors(Cycling_Seu, k.param=10, dims=1:10) Cycling_Seu <- FindClusters(Cycling_Seu, resolution = 1) Cycling_Clust_1_ToClean = subset(Cycling_Seu, idents = c(0)) Cycling_Clust_2_ToClean = subset(Cycling_Seu, idents = c(1)) Cycling_Clust1 = subset(Cycling_Seu_UMAP, row.names(Cycling_Seu_UMAP) %in% colnames(Cycling_Clust_1_ToClean) & Cycling_Seu_UMAP$UMAP_1 < -1.5 | Cycling_Seu_UMAP$UMAP_1 < 0 & Cycling_Seu_UMAP$UMAP_2 > -1 ) Cycling_Clust2 = subset(Cycling_Seu_UMAP, row.names(Cycling_Seu_UMAP) %in% colnames(Cycling_Clust_2_ToClean) & Cycling_Seu_UMAP$UMAP_2 > -1 | Cycling_Seu_UMAP$UMAP_2 > -0.5 & Cycling_Seu_UMAP$UMAP_1 > 0.5 & Cycling_Seu_UMAP$UMAP_1 < 7) CheckInput = Cycling_Clust2 CheckUMAP(Cycling_Seu) Cycling_Clust3 = subset(Cycling_Seu, cells = c(row.names(Cycling_Clust1), row.names(Cycling_Clust2)), invert=T) Cycling_Barcs_List = list("Cycling_1" = Cycling_Clust1, "Cycling_2" = Cycling_Clust2, "Cycling_3" = Cycling_Clust3) Cycling_Barcs = GenerateMetaData(Cycling_Barcs_List) ### ### SUBCLUSTER Macro Macro_Seu = subset(Islet.combined, cells = row.names(Macro_Clust)) DefaultAssay(Macro_Seu) = "integrated" Macro_Seu <- RunPCA(Macro_Seu, npcs = 30, verbose = FALSE) Macro_Seu <- RunUMAP(Macro_Seu, reduction = "pca", dims = 1:10, spread=5) Macro_Barcs_List = list("Macro" = Macro_Seu) Macro_Barcs = GenerateMetaData(Macro_Barcs_List) ### ### SUBCLUSTER Epsilon Epsilon_Seu = subset(Islet.combined, cells = row.names(Epsilon_Clust)) DefaultAssay(Epsilon_Seu) = "integrated" Epsilon_Seu <- RunPCA(Epsilon_Seu, npcs = 10, verbose = FALSE,n.neighbors=5) Epsilon_Seu <- RunUMAP(Epsilon_Seu, reduction = "pca", dims = 1:10,verbose = F,n.neighbors=5) Epsilon_Barcs_List = list("Epsilon" = Epsilon_Seu) Epsilon_Barcs = GenerateMetaData(Epsilon_Barcs_List)
List_Meta = list("Alpha" = Alpha_Barcs, "Beta" = Beta_Barcs,"Delta" = Delta_Barcs, "Epsilon" = Epsilon_Barcs, "Gamma" = Gamma_Barcs, "Acinar" = Acinar_Barcs, "Ductal" = Ductal_Barcs, "Stellate" = Stellate_Barcs, "Cycling" = Cycling_Barcs, "Macro" = Macro_Barcs, "Endo" = Endo_Barcs, "WBCs" = WBCs_Barcs) List_Seu = list( "Alpha" = Alpha_Seu, "Beta" = Beta_Seu, "Delta" = Delta_Seu, "Epsilon" = Epsilon_Seu, "Gamma" = Gamma_Seu,"Acinar" = Acinar_Seu, "Ductal" = Ductal_Seu, "Stellate" = Stellate_Seu, "Cycling" = Cycling_Seu,"Macrophages"= Macro_Seu, "Endothelium" = Endo_Seu, "WBCs" = WBCs_Seu) sz = 8 DPList = list() Islet.combined = AddMetaData(Islet.combined, Islets_Barcs, "Islets_Barcs") Idents(Islet.combined) = "Islets_Barcs" DPList[["AllCells"]] = DimPlot(Islet.combined, label = T, repel=T, label.size = sz*0.3) + NoLegend()+theme(axis.title = element_text(size = sz), axis.text = element_text(size = sz)) Barcodes_Granular = as.data.frame(matrix(ncol=1, nrow=0)) colnames(Barcodes_Granular) = "Pop" sz = 8 for(x in 1:length(List_Seu)){ Pull = List_Seu[[x]] PullMeta = List_Meta[[x]] Pull = AddMetaData(Pull, List_Meta[[x]], "Assigns") Idents(Pull) = "Assigns" DPList[[names(List_Seu[x])]] = DimPlot(Pull, label = T, label.size = sz*0.3) + NoLegend() + theme(axis.title = element_text(size = sz*0.7), axis.text = element_text(size = sz*0.7), plot.title = element_text(size = sz, face="bold")) + ggtitle(names(List_Seu[x])) Barcodes_Granular = rbind(Barcodes_Granular, PullMeta) } write.csv(Barcodes_Granular, "Islets_Barcodes_Granular_5AUG22.csv") Genes = unique(c("GCG", "IRX1", "IRX2", "FAP", "DPP4", "LOXL4", "PLCE1", "NEUROD1", "PPP1R1A", "INS", "NKX6-1", "DLK1", "ADCYAP1", "ABCC8", "RBP4", "MAFA", "FFAR4", "PDX1","NKX6-1", "SIX3", "SST", "NPY", "POU3F1", "LEPR", "GHRL","ETV1", "PPY", "PRSS1", "CPA1", "CPB1", "CTRC", "PLA2G1B","SDC4", "LCN2", "KRT19", "MUC1", "AMBP", "COL1A1", "DKK3", "KCNE4", "COL15A1", "RGS5", "SPARC", "VCAN","PDGFRB","SERPINH1", "TBX3", "COL1A1", "SOX10", "MKI67", "UBE2C", "CDK1", "CENPA", "FAM111B", "SDS", "MERTK", 'ITGAX', "VWF", "CLDN5", "FLT1", "ACTA2", "RGS5", "LUM", "DCN", "TPSAB1", "KIT", "MS4A2", "CD3E", "TRAC", "IL7R", "CCL17", "IDO1")) write.csv(as.data.frame(table(Barcodes_Granular$Pop)), "Islet_Clusters_5AUG22.csv") Barcodes_Granular$Pop = factor(Barcodes_Granular$Pop, levels = rev(c("Alpha_1", "Alpha_2", "Alpha_3", "Alpha_4","Alpha_5", "Alpha_6", "Beta_1", "Beta_2", "Beta_3", "Beta_4", "Beta_5", "Beta_6", "Beta_7", "Beta_8", "Beta_9", "Delta_1", "Delta_2", "Delta_3", "Delta_4", "Epsilon", "Gamma", "Acinar_1", "Acinar_2", "Acinar_3", "Acinar_4", "Acinar_5", "Acinar_6", "Acinar_7", "Acinar_8", "Ductal_1", "Ductal_2", "Ductal_3", "Ductal_4", "Ductal_5", "Stellate", "Cycling_1", "Cycling_2", "Cycling_3", "Macro", "Arterial","Venous", "Mast_Cells", "T_Cells", "APCs"))) Islet.combined = AddMetaData(Islet.combined, Barcodes_Granular, "Gran") Idents(Islet.combined) = "Gran" DefaultAssay(Islet.combined) = "RNA" myPalette <- colorRampPalette(c("lightgrey", "navy")) Dotz = DotPlot(object = Islet.combined, features = Genes, assay = "RNA", cols = c("lightgrey", "navy"), dot.scale = 1.5) + theme(legend.position = "bottom", axis.text.x = element_text(angle = 90, hjust = 1, vjust=0.5, size=sz*0.7, face = "italic"), axis.text.y = element_text(size=sz*0.7), legend.text = element_text(size=sz), legend.title = element_text(size=sz)) + xlab("") + ylab("")+ scale_colour_gradientn(colours = myPalette(100), limits = c(0,2.5), na.value = "white") # pdf(paste("ISLETS_DotPlot_RNA_5AUG22.pdf", sep=""), width=20, height=10) print(Dotz) dev.off() Patch = DPList[[1]] + DPList[[2]] + DPList[3] + DPList[4] + DPList[5] + DPList[6] + DPList[7] + DPList[8] + DPList[9] + DPList[10] + DPList[11] + DPList[12] + DPList[13] + Dotz + plot_layout(design = "AAAABBCC AAAABBCC AAAADDEE AAAADDEE FFGGHHII FFGGHHII JJKKLLMM JJKKLLMM OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOO") pdf("Islets_Figure_RNA_5AUG22.pdf", width = 8, height = 12) print(Patch) dev.off() plot_layout(design = "AABC AADE FGHI JKLM OOOO OOOO") Islet.combinedData = as.data.frame(t(Islet.combined@assays$RNA@counts)) Islet.combinedData_subs = Islet.combinedData %>% dplyr::select("GCG", "IRX1", "INS", "DLK1", "SST", "POU3F1") Islet.combinedDecontx = as.data.frame(t(Islet.combined@assays$decont@counts)) Islet.combinedDecontx_subs = Islet.combinedDecontx %>% dplyr::select("GCG", "IRX1", "INS", "DLK1", "SST", "POU3F1") for(b in unique(Islets_Barcs$Pop)){ if(b == "Stellate"){PlotGenes = c("COL1A1", GeneLists[["Baron_Stellate"]])}else if(b == "Endo"){PlotGenes = c("CSPG4", "GJA4", "APLN", "CD82", "CHST1", "PTH1R", "BMX", "GKN3", "IGFBP2", "DCN", "LIM", "PDGFRA", "IL33", GeneLists[["EndoList"]])}else if(b == "Beta"){PlotGenes = c("INS", GeneLists[["Seger_Beta"]], GeneLists[["Beta_Subpops"]])}else if(b == "Acinar"){PlotGenes = c("PRSS1", GeneLists[["Seger_Acinar"]])}else if(b == "Ductal"){PlotGenes = c(GeneLists[["Peng_Ductal"]])}else if(b == "Alpha"){PlotGenes = c("GCG", GeneLists[["Seger_Alpha1"]], GeneLists[["Seger_Alpha2"]])}else if(b == "Macro"){PlotGenes = c(GeneLists[["MacroCells"]])}else if(b == "WBCs"){PlotGenes = c(GeneLists[["MainList"]], "TPSAB1", GeneLists[["MastCells"]])}else if(b == "Delta"){PlotGenes = c("SST", GeneLists[["Rorsman_Pardo_Delta"]])}else if(b == "Gamma"){PlotGenes = c("PPY" , GeneLists[["GammaCells"]])} pdf(paste("Islets_DotPlots_", b, "MarkerGenes_3AUG22.pdf", sep=""), width = 12, height = length(PlotGenes)/4) print(DotPlot(object = Islet.combined, features = unique(PlotGenes), assay = "RNA", cluster.idents = T)+coord_flip()+theme(axis.text.x = element_text(angle=90, hjust=1, vjust = 0.5))) dev.off() paste(c(b, ":", PlotGenes), collapse = ", ") } ### Barcodes for GlowwormInput Islets_Barcodes = Barcodes_Granular Islets_Barcodes$Broad = gsub("T_Cells", "WBCs", gsub("APCs", "WBCs", gsub("Mast_Cells", "WBCs", gsub("Arterial","Endothelial", gsub("Venous", "Endothelial", Islets_Barcodes$Pop))))) Islets_Barcodes$Broad = gsub("_.*", "",Islets_Barcodes$Broad) save(list=c("Islets_Barcodes", "Islet.combined"), file = "~/Islets_Glowworm_15AUG22.RData") ####### sz = 8 DPList = list() Idents(Islet.combined) = "Islets_Barcs" DPList[["AllCells"]] = DimPlot(Islet.combined) + NoLegend()+theme(axis.title = element_text(size = sz), axis.text = element_blank(), axis.ticks = element_blank()) sz = 8 for(x in 1:length(List_Seu)){ Pull = List_Seu[[x]] PullMeta = List_Meta[[x]] Pull = AddMetaData(Pull, List_Meta[[x]], "Assigns") Idents(Pull) = "Assigns" PullName = names(List_Seu[x]) DPList[[names(List_Seu[x])]] = DimPlot(Pull) + NoLegend() + theme(axis.title = element_blank(), axis.text = element_blank(), plot.title = element_text(size = sz, face="bold"), axis.ticks = element_blank()) + ggtitle(paste(PullName, " (",length(unique(PullMeta$Pop)), ")", sep="")) } Patch = wrap_plots(DPList) + plot_layout(design = "AAABCDE AAAFGHI AAAJKLM") pdf("Islets_Figure_RNA_SEP22.pdf", width = 20, height = 8) print(Patch) desv.off() pdf("Fetal_Legends.pdf") print(DimPlot(Fetal.combined, label=T)) dev.off()
List_Seu = list( "Alpha" = Alpha_Seu, "Beta" = Beta_Seu, "Delta" = Delta_Seu, "Epsilon" = Epsilon_Seu, "Gamma" = Gamma_Seu,"Acinar" = Acinar_Seu, "Ductal" = Ductal_Seu, "Stellate" = Stellate_Seu, "Cycling" = Cycling_Seu,"Macrophages"= Macro_Seu, "Endothelium" = Endo_Seu, "WBCs" = WBCs_Seu) #Clean up Beta DefaultAssay(Beta_Seu) = "RNA" FP = FeaturePlot(Beta_Seu, unique(c(GeneLists[["Seger_Beta"]], GeneLists[["Beta_Subpops"]], GeneLists[["Lori_Extras"]])), ncol = 5) pdf("Beta_Clust_FeaturePlots_MAR23.pdf", width = 14, height = 2*ceiling(length( unique(c(GeneLists[["Seger_Beta"]], GeneLists[["Beta_Subpops"]], GeneLists[["Lori_Extras"]])))/5)) print(FP) dev.off() Beta_Seu = AddMetaData(Beta_Seu, Beta_Barcs, "BETA") Idents(Beta_Seu)= "BETA" VlnPlot(Beta_Seu, c("INS", "FFAR4", "RBP4", "ID1", "ID2", "ID3"), pt.size = 0) DimPlot(Beta_Seu, label = T) Beta_Barcs_V2 = Beta_Barcs Beta_Barcs_V2$Pop = gsub("Beta_7", "Beta_6", gsub("Beta_8", "Beta_5", gsub("Beta_6", "Beta_4", gsub("Beta_9", "Beta_4", Beta_Barcs_V2$Pop)))) #Clean up Alpha DefaultAssay(Alpha_Seu) = "RNA" FP = FeaturePlot(Alpha_Seu, unique(c(GeneLists[["Seger_Alpha1"]], GeneLists[["Seger_Alpha2"]], GeneLists[["Lori_Extras"]])), ncol = 5) pdf("Alpha_Clust_FeaturePlots_MAR23.pdf", width = 14, height = 2*ceiling(length( unique(c(GeneLists[["Seger_Alpha1"]], GeneLists[["Seger_Alpha2"]], GeneLists[["Lori_Extras"]])))/5)) print(FP) dev.off() Alpha_Seu = AddMetaData(Alpha_Seu, Alpha_Barcs, "Alpha") Idents(Alpha_Seu)= "Alpha" DimPlot(Alpha_Seu, label = T) Alpha_Barcs_V2 = Alpha_Barcs Alpha_Barcs_V2$Pop = gsub("Alpha_4", "Alpha_3", gsub("Alpha_5", "Alpha_3", gsub("Alpha_6", "Alpha_3", Alpha_Barcs_V2$Pop))) #Clean up Delta DefaultAssay(Delta_Seu) = "RNA" FP = FeaturePlot(Delta_Seu, unique(c(GeneLists[["Rorsman_Pardo_Delta"]], GeneLists[["Lori_Extras"]])), ncol = 5) pdf("Delta_Clust_FeaturePlots_MAR23.pdf", width = 14, height = 2*ceiling(length( unique(c(GeneLists[["Rorsman_Pardo_Delta"]], GeneLists[["Lori_Extras"]])))/5)) print(FP) dev.off() Delta_Seu = AddMetaData(Delta_Seu, Delta_Barcs, "Delta") Idents(Delta_Seu)= "Delta" DimPlot(Delta_Seu, label = T) Delta_Barcs_V2 = Delta_Barcs Delta_Barcs_V2$Pop = gsub("Delta_4", "Delta_1", Delta_Barcs_V2$Pop) #Clean up Acinar DefaultAssay(Acinar_Seu) = "RNA" FP = FeaturePlot(Acinar_Seu, unique(c(GeneLists[["Seger_Acinar"]], GeneLists[["Lori_Extras"]])), ncol = 5) pdf("Acinar_Clust_FeaturePlots_MAR23.pdf", width = 14, height = 2*ceiling(length( unique(c(GeneLists[["Seger_Acinar"]], GeneLists[["Lori_Extras"]])))/5)) print(FP) dev.off() Acinar_Seu = AddMetaData(Acinar_Seu, Acinar_Barcs, "Acinar") Idents(Acinar_Seu)= "Acinar" DimPlot(Acinar_Seu, label = T) Acinar_Reclust = subset(Acinar_Seu, idents = c("Acinar_6", "Acinar_4")) DefaultAssay(Acinar_Reclust) = "integrated" Acinar_Reclust <- FindNeighbors(Acinar_Reclust, k.param=30, dims=1:10) Acinar_Reclust <- FindClusters(Acinar_Reclust, resolution = 1) DimPlot(Acinar_Reclust, label = T) FeaturePlot(Acinar_Seu, "KRT19") Acinar_Cluster3 = subset(Acinar_Reclust, idents = c(0,2,5)) Acinar_Barcs_V2 = Acinar_Barcs Acinar_Barcs_V2$Pop = gsub("Acinar_3", "Acinar_2", gsub("Acinar_5", "Acinar_2",gsub("Acinar_4", "Acinar_2", gsub("Acinar_6", "Acinar_2", Acinar_Barcs_V2$Pop)))) Acinar_Barcs_V2$Pop = ifelse(row.names(Acinar_Barcs_V2) %in% colnames(Acinar_Cluster3), "Acinar_3", Acinar_Barcs_V2$Pop) Acinar_Seu = AddMetaData(Acinar_Seu, Acinar_Barcs_V2, "Acinar") Idents(Acinar_Seu)= "Acinar" DimPlot(Acinar_Seu, label = T) #Clean up Ductal DefaultAssay(Ductal_Seu) = "RNA" FP = FeaturePlot(Ductal_Seu, unique(c(GeneLists[["Peng_Ductal"]], GeneLists[["Lori_Extras"]])), ncol = 5) pdf("Ductal_Clust_FeaturePlots_MAR23.pdf", width = 14, height = 2*ceiling(length( unique(c(GeneLists[["Seger_Ductal1"]], GeneLists[["Lori_Extras"]])))/5)) print(FP) dev.off() FeaturePlot(Ductal_Seu, c("AMBP","FXYD2", "MUC1", "FXYD3", "KRT19")) Ductal_Seu = AddMetaData(Ductal_Seu, Ductal_Barcs, "Ductal") Idents(Ductal_Seu)= "Ductal" DimPlot(Ductal_Seu, label = T) Ductal_Barcs_V2 = Ductal_Barcs Ductal_Barcs_V2$Pop = gsub("Ductal_4", "Ductal_3", gsub("Ductal_5", "Ductal_3", Ductal_Barcs_V2$Pop)) ### Cycling_Barcs_V2 = Cycling_Barcs Cycling_Barcs_V2$Pop = gsub("Cycling_1", "Beta_7 [Cycling]", gsub("Cycling_2", "Beta_8 [Cycling]", gsub("Cycling_3", "Alpha_4 [Cycling]", Cycling_Barcs_V2$Pop))) Islet_Assigns_MAR23 = rbind(Ductal_Barcs_V2, Delta_Barcs_V2, Acinar_Barcs_V2, Alpha_Barcs_V2, Beta_Barcs_V2, Epsilon_Barcs, Gamma_Barcs, Stellate_Barcs, Cycling_Barcs_V2, Macro_Barcs, Endo_Barcs, WBCs_Barcs) Islet_Assigns_MAR23$Broad = Islet_Assigns_MAR23$Pop Islet_Assigns_MAR23$Broad = gsub("T_Cells", "WBCs", gsub("APCs", "WBCs", gsub("Mast_Cells", "WBCs", gsub("Arterial","Endothelial", gsub("Venous", "Endothelial", Islet_Assigns_MAR23$Pop))))) Islet_Assigns_MAR23$Broad = gsub("_.*", "",Islet_Assigns_MAR23$Broad) write.csv(Islet_Assigns_MAR23, "Islet_Assigns_MAR23.csv") save(list=c("Islet_Assigns_MAR23", "Islet.combined"), file = "~/Islets_Glowworm_28MAR23.RData")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.